package com.topcent.tioxyc.pojo;

/**
 * @author: 陈百万
 * @date: 2025/3/27 17:14
 * @Description: 采购订单列表（含收货）API
 */
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

@Data
@TableName("ZZ_PurchaseOrderList")
public class PurchaseOrderList {

    @TableField("PurchaseOrder")
    private String PurchaseOrder;  // 采购订单

    @TableField("PurchaseOrderItem")
    private String PurchaseOrderItem;  // 采购订单项目

    @TableField("PurchaseOrderType")
    private String PurchaseOrderType;  // 采购凭证类型

    @TableField("PurchasingDocumentTypeName")
    private String PurchasingDocumentTypeName;  // 采购凭证类型描述

    @TableField("Supplier")
    private String Supplier;  // 供应商

    @TableField("SupplierName")
    private String SupplierName;  // 供应商名称

    @TableField("PurchaseOrderDate")
    private String PurchaseOrderDate;  // 采购订单日期

    @TableField("PaymentTerms")
    private String PaymentTerms;  // 付款条件

    @TableField("PaymentTermsName")
    private String PaymentTermsName;  // 付款条件描述

    @TableField("PurchaseOrderItemCategory")
    private String PurchaseOrderItemCategory;  // 项目类别

    @TableField("PurgDocItemCategoryName")
    private String PurgDocItemCategoryName;  // 项目类别描述

    @TableField("AccountAssignmentCategory")
    private String AccountAssignmentCategory;  // 科目分配类别

    @TableField("AcctAssignmentCategoryName")
    private String AcctAssignmentCategoryName;  // 科目分配类别描述

    @TableField("Material")
    private String Material;  // 物料

    @TableField("PurchaseOrderItemText")
    private String PurchaseOrderItemText;  // 短文本

    @TableField("OrderQuantity")
    private String OrderQuantity;  // 订单数量

    @TableField("orderQuantity1")
    private String orderQuantity1;  // 订单数量（-1）

    @TableField("PurchaseOrderQuantityUnit")
    private String PurchaseOrderQuantityUnit;  // 订单单位

    @TableField("UnitOfMeasureLongName")
    private String UnitOfMeasureLongName;  // 单位文本

    @TableField("NetPriceAmount")
    private String NetPriceAmount;  // 物料净价

    @TableField("NetPriceAmount1")
    private String NetPriceAmount1;  // 物料净价（-1）

    @TableField("ConditionRateValue")
    private String ConditionRateValue;  // 物料含税单价

    @TableField("ConditionRateValue1")
    private String ConditionRateValue1;  // 物料含税单价（-1）

    @TableField("ConditionCurrency")
    private String ConditionCurrency;  // 凭证货币

    @TableField("NetAmount")
    private String NetAmount;  // 物料净值

    @TableField("NetAmount1")
    private String NetAmount1;  // 物料净值（-1）

    @TableField("ConditionAmount")
    private String ConditionAmount;  // 物料含税值

    @TableField("DocumentCurrency")
    private String DocumentCurrency;  // 凭证货币

    @TableField("ConditionQuantity")
    private String ConditionQuantity;  // 定价单位（每）

    @TableField("ConditionQuantityUnit")
    private String ConditionQuantityUnit;  // 条件单位

    @TableField("Tax")
    private String Tax;  // 税率%

    @TableField("MaterialGroup")
    private String MaterialGroup;  // 物料组

    @TableField("MaterialGroupName")
    private String MaterialGroupName;  // 物料组描述

    @TableField("Plant")
    private String Plant;  // 工厂

    @TableField("PlantName")
    private String PlantName;  // 工厂名称

    @TableField("StorageLocation")
    private String StorageLocation;  // 存储地点

    @TableField("StorageLocationName")
    private String StorageLocationName;  // 存储地点名称

    @TableField("ScheduleLineDeliveryDate")
    private String ScheduleLineDeliveryDate;  // 交货日期

    @TableField("IsReturnsItem")
    private String IsReturnsItem;  // 退货项目

    @TableField("PurchaseRequisition")
    private String PurchaseRequisition;  // 采购申请

    @TableField("PurchaseRequisitionItem")
    private String PurchaseRequisitionItem;  // 申请的项目

    @TableField("SalesOrder")
    private String SalesOrder;  // 销售订单

    @TableField("SalesOrderItem")
    private String SalesOrderItem;  // 销售订单项目

    @TableField("YY1_ZBMCL_PO_PDI")
    private String YY1_ZBMCL_PO_PDI;  // 表面处理/颜色

    @TableField("YY1_ZCPJZ_PO_PDI")
    private String YY1_ZCPJZ_PO_PDI;  // 产品单重

    @TableField("YY1_ZPJ_PO_PDI")
    private String YY1_ZPJ_PO_PDI;  // 配件

    @TableField("YY1_ZBZXX_PO_PDI")
    private String YY1_ZBZXX_PO_PDI;  // 包装方式

    @TableField("YY1_ZCL_PO_PDI")
    private String YY1_ZCL_PO_PDI;  // 材料

    @TableField("YY1_KS_PO_PDI")
    private String YY1_KS_PO_PDI;  // 款式

    @TableField("YY1_ZGGCC_PO_PDI")
    private String YY1_ZGGCC_PO_PDI;  // 规格尺寸

    @TableField("VCDescription")
    private String VCDescription;  // VC选配项

    @TableField("PurchasingGroupName")
    private String PurchasingGroupName;  // 采购组名称

    @TableField("AddressSearchTerm1")
    private String AddressSearchTerm1;  // 供应商简称

    @TableField("SupplierRespSalesPersonName")
    private String SupplierRespSalesPersonName;  // 销售业务员

    @TableField("AuthorizationGroupText")
    private String AuthorizationGroupText;  // 旧采购订单号

    @TableField("BusinessPartnerName1")
    private String BusinessPartnerName1;  // 客户简称

    @TableField("PersonFullName")
    private String PersonFullName;  // 采购订单创建人

    @TableField("PurchasingDocumentDeletionCode")
    private String PurchasingDocumentDeletionCode;  // 删除标识

    @TableField("IsCompletelyDelivered")
    private String IsCompletelyDelivered;  // 交货已完成

    @TableField("Currency")
    private String Currency;  // 公司货币

    @TableField("ExchangeRate")
    private String ExchangeRate;  // 公司货币汇率

    @TableField("UnitOfMeasure")
    private String UnitOfMeasure;  // 默认单位EA

    @TableField("PurchasingProcessingStatus")
    private String PurchasingProcessingStatus;  // 采购订单审批状态

    @TableField("Division")
    private String Division;  // 产品组

    @TableField("PersonFullName_1")
    private String PersonFullName_1;  // 审批人

    @TableField("TaxCode")
    private String TaxCode;  // 税码

    @TableField("ExchangeRate_1")
    private String ExchangeRate_1;  // 集团货币汇率

    @TableField("SalesOffice")
    private String SalesOffice;  // 销售部门

    @TableField("GlobalCurrency")
    private String GlobalCurrency;  // 集团货币

    @TableField("SalesOrganization")
    private String SalesOrganization;  // 销售组织

    @TableField("ProductType")
    private String ProductType;  // 产品类型

    @TableField("ProductTypeName")
    private String ProductTypeName;  // 产品类型名称

    @TableField("DeliveredQuantity")
    private Integer DeliveredQuantity;  // 已收货数量

    @TableField("ConditionAmount_1")
    private BigDecimal ConditionAmount_1;  // 物料含税价

    @TableField("DeliveredAmount")
    private BigDecimal DeliveredAmount;  // 已收货金额

    @TableField("ValuationClass")
    private String ValuationClass;  // 评估类

    @TableField(exist = false)
    @JsonFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'", timezone = "GMT")
    private String recentTime;
}

